/* 
 * File:   Nodo.h
 * Author: stuart
 *
 * Created on August 24, 2011, 1:34 PM
 */

#ifndef NODO_H
#define	NODO_H

#pragma once

#include <string>
#include "Util.h"

using namespace std;

class Nodo
{
protected:
	string name;
	Nodo* parent;
	Nodo* childLeft;
	Nodo* childRight;
	double dimensaoHoriz;
	double dimensaoVert;
	double aspectRatio;
	double areaProportion;
	double nodoArea;
	Util ut;

public:
	Nodo();
	Nodo(string n, Nodo* pa, Nodo* l, Nodo* r, double dimH, double dimV, double aspectR, double areaP);
	~Nodo();
	void setName(string n);
	string getName();
	void setParent(Nodo* pa);
	Nodo* getParent();
	void setChildLeft(Nodo* l);
	Nodo* getChildLeft();
	void setChildRight(Nodo* r);
	Nodo* getChildRight();
	void setDimensaoH(double dimH);
	void setDimensaoV(double dimV);
	void setAspectRatio(double a);
	void setAreaProportion(double e);
	void setAreaNodo(double area);
	double getDimensaoH();
	double getDimensaoV();
	double getAreaProportion();
	double getAspectRatio();
	double getAreaNodo();
};

#endif	/* NODO_H */

